﻿#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QLabel>
#include <QDate>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    //  自定义单元格Type的类型，在创建单元格的Item时使用
    enum    CellType{ctName=1000,ctSex,ctBirth,ctNation,ctPartyM,ctScore}; //各单元格的类型

    //  各字段在表格中的列号
    enum    FieldColNum{colName=0, colSex,colBirth,colNation,colScore,colPartyM};

private slots:
    void on_m_pbn_setup_header_clicked();

    void on_m_pbn_setup_row_clicked();

    void on_m_pbn_init_table_clicked();

    void on_m_pbn_insert_row_clicked();

    void on_m_pbn_add_row_clicked();

    void on_m_pbn_del_currow_clicked();

    void on_m_pbn_auto_heigh_clicked();

    void on_m_pbn_auto_width_clicked();

    void on_m_pbn_table_to_text_clicked();

    void on_m_cb_enableEdit_clicked(bool checked);

    void on_m_cb_rowColor_clicked(bool checked);

    void on_m_cb_headerH_clicked(bool checked);

    void on_m_cb_headerV_clicked(bool checked);

    void on_m_rb_selectRow_clicked();

    void on_m_rb_selectItem_clicked();
    void on_m_tableWidget_currentCellChanged(int currentRow, int currentColumn, int previousRow, int previousColumn);

private:
    void initStatusBar();
    void CreateTableWidgetOneItem(int i, QDate& birth);
private:
    Ui::MainWindow *ui;
    QLabel  *m_labCellIndex; //状态栏上用于显示单元格的行号、列号
    QLabel  *m_labCellType;  //状态栏上用于显示单元格的type
    QLabel  *m_labStudID;    //状态栏上用于显示单元格的data,
};
#endif // MAINWINDOW_H
